package com.ruoyi.system.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.core.domain.entity.MemberCar;
import com.ruoyi.common.core.domain.entity.MemberCarPageQuery;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface MemberCarMapper  extends BaseMapper {

    /**
     * 查询某个会员绑定的车辆
     */
    int queryByCarNum(String carNum);


    /**
     * 查询会员车辆列表
     */
    List<MemberCar> listByMemberCar(String memberPhone);

    /**
     * 查询会员车辆列表
     */
    List<MemberCar> selectMemberCarList(MemberCarPageQuery query);

    /**
     * 获取会员车辆详细信息
     */
    MemberCar selectMemberCarById(Long id);

    /**
     * 新增会员车辆
     */
    int insertMemberCar(MemberCar memberCar);

    /**
     * 修改会员车辆
     */
    int updateMemberCar(MemberCar memberCar);


    /**
     * 删除会员车辆
     */
    int deleteMemberCarById(Long id);

    /**
     * 批量删除会员车辆
     */
    int deleteMemberCarByIds(Long[] ids);

    /**
     * 获取车辆信息，根据车牌号查询会员车辆状态、绑定人 等信息-
     */
    MemberCar selectMemberCarByCarNumInfo(String carNum);

    /**
     * 获取车辆信息，根据车牌号查询临时会员库会员车辆状态、绑定人 等信息
     */
    MemberCar selectMemberCarTempByCarNumInfo(String carNum);

    /**
     * 获取车辆信息
     */
    Integer selectMemberCarByCarNum(String carNum);

    /**
     * 获取会员车辆详细信息
     */
    MemberCar findByCarNum(String carNum);

    /**
     * 从临时表删除记录
     */
    int deleteTempByCarNum(String carNum);


    /**
     * 查询日志记录
     */
    int queryCarLog(String carNum);

    /**
     * 更新日志记录
     */
    int updateCarLog(@Param("carNumber") String carNumber,
                     @Param("discountWhen") String discountWhen);

}
